//Monday, October 26 2009
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <queue>
#include <math.h>
#include <sstream>
#include <algorithm>

using namespace std;

class BestTriangulation
{
public:
double maxArea(vector <string> vertices)
{
	double mmax = 0;
	vector<pair<int, int> > v(vertices.size());
	for(int i=0; i<vertices.size(); i++)
	{
		int a, b;
		stringstream s(vertices[i]);
		s >> a >> b;
		v[i].first = a;
		v[i].second = b;
	}
	for(int i=0; i<v.size(); i++)
		for(int j=i+1; j<v.size(); j++)
			for(int k=j+1; k<v.size(); k++)
			{
				double ds1 = dist(v[i].first, v[i].second, v[j].first, v[j].second);
				double ds2 = dist(v[k].first, v[k].second, v[j].first, v[j].second);
				double ds3 = dist(v[i].first, v[i].second, v[k].first, v[k].second);
				double s = area(ds1, ds2, ds3);
				if(mmax < s) mmax = s;
			}
	return mmax;
}
double dist(int x, int y, int x1, int y1)
{
	return sqrt((x-x1)*(x-x1) + (y-y1)*(y-y1));
}
double area(double a, double b, double c)
{
	double p = (a+b+c)/2;
	return sqrt(p*(p-a)*(p-b)*(p-c));
}
};
